/*
 * $Id: PolisAclGroup.java 29 2007-04-16 23:57:10Z aaron.day $
 */
package org.crazydays.core.data;


import javax.persistence.*;

/**
 * Polis acl class.
 */
@Entity
@Table(name = "polis_acl_group")
public class PolisAclGroup
{
	/** key */
	@Id
	protected PolisAclGroupKey key;

	/** allow */
	@Basic
	@Column
	protected boolean allow;

	/** acl */
	@ManyToOne
	@JoinColumn(name = "polis_acl", insertable = false, updatable = false)
	protected PolisAcl acl;

	/** group */
	@ManyToOne
	@JoinColumn(name = "polis_group", insertable = false, updatable = false)
	protected PolisGroup group;

	/** right */
	@ManyToOne
	@JoinColumn(name = "polis_right", insertable = false, updatable = false)
	protected PolisRight right;

	/**
	 * Set key.
	 * 
	 * @param key Key
	 */
	public void setKey(PolisAclGroupKey key)
	{
		this.key = key;
	}

	/**
	 * Get key.
	 * 
	 * @return Key
	 */
	public PolisAclGroupKey getKey()
	{
		return key;
	}

	/**
	 * Set allow.
	 * 
	 * @param allow Allow
	 */
	public void setAllow(boolean allow)
	{
		this.allow = allow;
	}

	/**
	 * Get allow.
	 * 
	 * @return Allow
	 */
	public boolean getAllow()
	{
		return allow;
	}

	/**
	 * Set acl.
	 * 
	 * @param acl Acl
	 */
	public void setAcl(PolisAcl acl)
	{
		this.acl = acl;
	}

	/**
	 * Get acl.
	 * 
	 * @return Acl
	 */
	public PolisAcl getAcl()
	{
		return acl;
	}

	/**
	 * Set group.
	 * 
	 * @param group Group
	 */
	public void setGroup(PolisGroup group)
	{
		this.group = group;
	}

	/**
	 * Get group.
	 * 
	 * @return Group
	 */
	public PolisGroup getGroup()
	{
		return group;
	}

	/**
	 * Set right.
	 * 
	 * @param right Right
	 */
	public void setRight(PolisRight right)
	{
		this.right = right;
	}

	/**
	 * Get right.
	 * 
	 * @return Right
	 */
	public PolisRight getRight()
	{
		return right;
	}
}
